-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add Dockerfile for pristine Foswiki setup #35
base: master
Are you sure you want to change the base?
Conversation
Basically I really like he idea to ship a proper docker file as part of the distro: this is a good thing to do (tm). Also, I do like the use of Debian rather than Alpine Linux. However I don't quite agree on some of your other assumtions with regards to apache and fcgi. Basically, best practice nowadays is nginx and fcgi instead of apache and mod_perl, no matter what the installation guide says. Yes, we need to fix the installation guide. Yes we need an nginx config generator. :) |
@MichaelDaum Please review again, it now supports Apache mod_fcgid and Nginx FastCGI, the latter is used by default. I tried to make Apache mod_proxy_fcgi work but failed, that's why the commit message says it requires further configuration, I guess this doesn't matter much for this PR, we may enhance in another PR. Notice the Dockerfile install both Apache and Nginx, that wastes some disk space but it's intended, I want to play with both to compare their cpu & memory usage, also serving performance. The Dockerfile is also clean without introducing an extra variable in the RUN commands. |
c027d36
to
5f5ed17
Compare
TODO: Actually mod_proxy_fcgi requires further manual configuration. Import from Dieken/foswiki-docker@4fb9363
Yes, pleeeeeaaase. |
Any further review feedback? Could we get this merged? |
Hi Yubao,
Thanks heaps for starting this contribution. It certainly helps in the installation of Foswiki.
I think there is an issue with incorporating this in distro. To obtain distro, you download the Foswiki source from GitHub. Then one has access to the Dockerfile and can run it. The Dockerfile then downloads the source for the Foswiki distribution from Foswiki.org. That seems illogical to me. Admitted, it's OK for a developer, but for someone who just wants to install Foswiki and use it, it looks weird.
I think this contribution should be packaged as a Contrib. Something like DockerContrib. DockerContrib can deliver:
docker-install in the tools directory to perform the installation
DockerContrib,txt in the data/System directory for documentation
The required components (Dockerfile, ApacheConfig, etc) need a home. Suggest lib/Docker
DockerContrib can be referred to in the Foswiki InstallationGuide.
DockerContrib will be listed in the Extensions
DockerContrib can be the home for all desired Docker installation flavours. Much like pseudo-install comes with different flavours.
Finally a minor point. This Dockerfile installs both Apache and nginx. That fits the purpose of the author. In principle a clean Foswiki Dockerfile, generating an image Foswiki-2.1.7 would be nice. Then one can create different implementations FROM Foswiki-2.1.7, using different web servers
Happy to discuss further.
…--
Bram van Oosterhout
|
I would make it a seperate repo under the project.. |
Hi Tim,
Do you mean one repo for each Dockerfile? That could lead to a proliferation of repos related to Foswiki.
Or do do you mean a single Foswiki/docker repo with sub directories for different flavours?
The latter naturally happens by packaging it as a Contrib.
The various Dockerfiles and their support can be stored in lib/Docker/flavour.
The documentation of the repo can be copied from System/DockerContrib or the other way around. That way it will be visible on foswiki.org as well as GitHub
And docker-install would assist in the selection of the flavour.
On Fri, 30 Dec 2022 05:46:35 -0800, Timothy Legge wrote
… I would make it a seperate repo under the project..
�
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
--
Bram van Oosterhout
|
@BramVan-Oosterhout I would package up the required Dockerfile and dependencies unde a repo an make it a fepo under Foswiki. Think as if you were to import timlegge/docker-foswiki under the Foswiki organization. Someone an clone that independent repo and go from there |
Not sure if having it as a Contrib is needed as the purpose of the Docker file is to create a functioning installation not be a part of the overall project. |
I have created a prototype of It is very rudimentary. But it allows extension to multiple docker images. A container based on the image defined here can be started with Please leave comments for |
Agree with @timlegge, usually people use Docker because they don't want to learn how to do manual installation, two commands The DockerContrib requires a Foswiki Installation, but if I already have one, I probably don't need the Docker image any more. To make new users easy to find the Docker image, it's better to import timlegge/docker-foswiki or my repo into foswiki organization, either in standalone repository or directly in this repository, that's why I sent a pull request. Btw, I don't mind timlegge/docker-foswiki is chosen, my repo is very new and I actually don't use Foswiki much now. |
On Thu, Jan 5, 2023, 12:32 AM Yubao Liu ***@***.***> wrote:
BTW, I don't mind timlegge/docker-foswiki is chosen, my repo is very new
and I actually don't use Foswiki much now.
I am good either way too. I would also accept patches to
timlegge/docker-foswiki to make it more configurable to provide a more
vanilla version.
I do think that a lot of the added plugins/contribs are necessary to give a
more modern look and they are what I want but it should be possible to
deliver something that is configurable during the build process.
Tim
… —
Reply to this email directly, view it on GitHub
<#35 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAH3N64IMQIGMJY6DDSWZJ3WQZBUTANCNFSM6AAAAAASMCOGA4>
.
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
On Wed, 04 Jan 2023 20:02:17 -0800, Yubao Liu wrote
The DockerContrib requires a Foswiki Installation, but if I already have one, I probably don't need the Docker image any more.
DockerContrib does not NEED a Foswiki installation. One can download DockerContrib from GitHub and proceed from there.
Or, if it is included on foswiki.org, download the DockerContrib.tgz tar ball, untar and proceed from there. No local Foswiki installation required. And one can read the description of DockerContrib at foswiki.org/Extensions/DockerContrib.
I have added this text in the BramVan-Oosterhout/DockerContrib repo.
…--
Bram van Oosterhout
|
Please add it to DockerContrib. I'd like to keep the core lean. For my taste there is too much going in core already such as all those plugins should be in separate repos imho for faster release cycles of their own. Nevertheless, we should advertiese docker based installs on the download page on foswiki.org. |
@timlegge already has a docker image with many extensions, but I want to base on Debian and Apache 2, stay more close with https://foswiki.org/System/InstallationGuide for new users.
I didn't choose FastCGI because mod_proxy_fcgi in apache-2.4 isn't supported by https://foswiki.org/Support.ApacheConfigGenerator yet, and personally I would like to omit extra setup for FastCGI.